Web Design
Como criar um site responsivo do zero. Do design ao código.
Teoria do Design
Fundamentos do Design
O que é Design
- "Design é acrescentar valor e significado, simplificar, esclarecer, modificar, dignificar, dramatizar, persuadir e talvez até mesmo entreter." - Paul Rand
Forma e Espaço
- Forma Geométrica (criado pelo homem)
- Angulosas
- Artificiais
- Forma Orgânica (naturais)
- Curvilíneas
- Gestuais
- "O espaço é definido e adquire significado no instante em que uma forma aparece dentro dele." - Timothy Samara
Cores
-
Círculo Cromático
-
Análogas
- Cores próximas uma das outras, geralmente 4, elas se relacionam bem.
-
Complementares
- Cores opostas uma das outras, possuem total contraste.
-
Quentes e Frias
- Frias: Calmas
- Quentes: Chamativas
-
Relatividade da cor
- "Se alguém disse 'vermelho' e houver cinquenta pessoas escutando, pode-se esperar que cada uma pensará em um vermelho" - Josef Albers
-
Significado das cores
- Depende da cultura.
- Guia Emocional das cores.
-
RGB e CMYK
- RGB: parte do preto, depende da luminosidade, o branco é a cor máxima.
- CMYK: sistema usado na impressão.
-
Esquema de cor
-
"Nunca tivemos vergonha de roubar grandes ideias." - Steve Jobs
-
Podemos pegar um esquema pronto na internet.
-
Joalheria de cores
-
-
Contraste
- Entre matiz, saturação e valor
- Corpo de texto precisa de um boa relação de contraste com o seu fundo
- O contraste vai definir o que deve ser visto primeiro
Tipografia
-
"É a arte e processo de criação de um texto. O objetivo principal é dar ordem estrutural e forma a comunicação."
-
"Se a tipografia faz algum sentido, ele é visual e histórico." - Robert Bringhurst
-
Sem Serifas
- São neutras, funcionam bem em corpo de texto, usadas frequentemente na web para compor o texto.
- Ex: Helvetica, Arial e Avenir
-
Serifadas
- São clássicas, funcionam bem em corpo de texto, usadas frequentemente em livros para compor o texto.
- Ex: Garamonf, Georgia e Baskerville
-
Serifas Grossas
- Encorpadas, funcionam bem em títulos.
- Ex: Rockwell, Bitter e Kreon
-
Script
- Suaves, parecem ter sido feitas a mão e com um pincel. Funcionam bem em títulos.
- Ex: Salamander, Lucida Calligraphy e Brush Script
-
Góticas / Blackletter
- Estilizadas, utilizadas como referência ao período medieval. Boas para compor títulos.
- Ex: New Rocker, Lucida Backletter e Cabazon
-
Display
- Estilizadas, não existe padrão definido, são criadas de acordo com o projeto. Cada uma possui personalidade própria. Boas para compor títulos.
- Ex: Phosphate, Curlz MT e Hobo
-
Variáveis Tipográficas
- Tamanho do Tipo
- Ex: 14px, 16px ou 18px
- Altura da Linha
- Ex 1,5 x Tamanho do Texto
- 1,5 x 14px = 21px
- Largura do Texto
- Máximo de 10/14 palavras por linha
Obs: Indicações feitas para o compor do texto utilizando tipografias como Helvetica e Arial.
- Tamanho do Tipo
-
Escalas Tipográficas
- Utilize no máximo 6 tamanhos
- Utilizar mais de 6 tamanhos diferentes de texto pode criar um ruído visual
- Escolha uma escala harmônica
- 11px, 14px, 18px, 24px, 38px e 48px
- Contraste é rei
- *Nunca utilize tamanhos próximos, como 14px e 15px.
- Utilize no máximo 6 tamanhos
-
Pareando Tipos
- Contraste é rei
- Nunca use tipografias parecidas para criar uma composição
- Use no máximo 2
- Quebre a regra apenas quando você dominar ela
- Escolha tipos complementares
- Tipografias serifadas para o título e sem serifas para o corpo de texto podem ser uma boa combinação
- Contraste é rei
-
Alinhamento
- À Esquerda
- Esse é o padrão web, você vai usar 80% das vezes.
- Centralizado
- Bom para títulos, subtítulos ou pequenos blocos de texto. O layout deve acompanhar este alinhamento.
- Justificado
- Pouco utilizado na web, pois ainda não existem meios fácil que permitam a hifenização do texto. Quase sempre gera caminhos de rato na web.
- À Esquerda
-
Elementos Hierárquicos
- Negrito
- Utilizado para destacar palavras importantes
- Itálico
- Utilizado para estilizar citações, títulos de livros/filmes e outros elementos
- Sublinhado
- Geralmente utilizado para destacar palavras que possuem link para outra página
- Negrito
-
Elementos
- Caixa Alta
- Utilizado principalmente em títulos/subtítulos. Nunca utilize para o corpo de texto.
- Caixa Alta
-
Tracking e Kerning
- Traking é a distância entre todas as letras.
- Kerning é a distância entre duas letras.
Grid
- "Consiste em um conjunto de relações baseadas em alinhamento que servem como guias para distribuir os elementos ao longo de um formato." - Timothy Samara
- Grid na Web
- Tamanho da coluna
- É importante existir uma lógica e ser consistente.
- Espaçamento entre colunas
- Deve ser padronizado.
- Encaixe os elementos no grid
- Quebre apenas quando necessário.
- Tamanho da coluna
- Grid Responsivo
- Tamanho da coluna adaptável
- Pode diminuir ou aumentar de acordo com o tamanho do suporte(tela).
- Colunas móveis
- Colunas que ficam lado a lado em uma tela maior, podem passar a ficar embaixo da outra em uma tela menor.
- Tamanho da coluna adaptável
Design para quem não é designer
- Os quatro princípios básicos
- Contraste
- Repetição
- Alinhamento
- Proximidade
UX Design e UI Design
O que é UX Design
- Interação entre o usuário e uma marca é uma experiência de uso
- O trabalho do designer é garantir que as necessidades do usuário sejam atendidas e, se possível, com prazer durante esse processo
- Consistência, facilidade de uso, sentidos, experiências, encantamento
UX Design na Web
- Usabilidade
- Garantir que o site seja de fácil uso.
- Prazer
- Superar expectativas, surpreender o usuário.
Usabilidade
- Útil
- Fácil de aprender
- Memorável
- Efetivo
- Eficiente
- Desejável
- Prazeroso
O que é UI Design
- Processo de criação de interfaces
- Objetivo de criar interfaces eficientes e efetivas
- Elementos comuns em uma interface:
- botões de ação
- blocos de texto, títulos
- formulários, caixas de texto
- imagens, pictogramas
- separadores
- animações
Estilos de UI
- Skeumorfismo
- faz referência a objetos reais no meio digital
- Flat Design
- utiliza cores chapadas, elimina sombras e texturas
- Material Design
- mantém o flat mas se aproveita da possibilidade de um ambiente 3d digital
Design do Projeto
Planejamento
Primeiros passos
-
Dicas para o freelancer
- defina o seu serviço
- defina o seu preço
- defina seu ponto de venda
- defina como você vai se promover
-
Etapas para a construção de um site
- Briefing
- objetivos do site
- necessidades dos usuários
- Arquitetura da Informação
- define as principais áreas do site e o seu conteúdo
- Wireframe
- design da interação
- Design
- define as cores, tipografia, imagens e estilo
- Código
- codifica o layout e implementa o CMS
Arquitetura da Informação
- É o processo de organizar e categorizar a informação de modo que o usuário encontre da forma mais fácil possível
- Dicas de AI
- Aproveite as convenções
- Crie níveis de detalhamento
- Crie mais de um caminho
- Concatene informações
- Conheça o usuário
- Card Sorting
- Crie as possíveis categorias
- Crie tiras de papéis com as informações
- Peça para as pessoas distribuirem
- Calcule os resultado
Wireframe
- É um desenho básico da interface que tem como objetivo retratar a arquitetura da informação e a usabilidade
- Vantagens
- Maior flexibilidade para mudanças
- É de rápida elaboração
- Facilita a criação do design final
- Permite teste com o usuário no início do projeto
- Cores Wireframe
- d9e0e6
- a9aeb3
- 484b4d
- Tipografia Wireframe
- 14/20 corpo de exto
- 18/25 corpo de texto
- 24/30 subtitulo/titulo
- 36/40 titulo
- 48/60 titulo
Design
Estilo, Cores e Tipografia
Após o Wireframe:
- Definir o estilo com base na identidade visual do cliente
- Definir cores, caso o cliente já possua cores definidas, adapte a paleta para a web
- Definir tipografia
Básico da Codificação
Introdução ao Código
O que é codificar
"É um conjunto de signos usados na transmissão e receptação de mensagens." Dicionário inFormal
Linguagens Web
- Programação (PHP, Ruby, C++, Python, Java)
- Marcação (HTML)
- Estilo (CSS)
- Script (Javascript, Lua)
Interpretadores
Servidores: é onde seu site fica hospedado, geralmente para linguagens de programação.
Browser/Navegador: interpreta o HTML, CSS e Javascript.
Ferramentas
Editor de textos: conhecido como IDE (Integrated Development Environment)
Principais: Sublime Text, Brackets, Notepad++, Coda, Dreamweaver
HTML Básico
O que é?
É um conjunto de regras(tags), criadas para amrcação de textos. Este conjunto facilita a compreensão semântica do texto por máquinas.
- HTML = hypertext markup language.
- Criado por tim berners-lee.
- W3C - desenvolve as especificações.
- HTML5 é a versão atual.
Anatomia
--------- tag(abertura) ---------atributo <p class="conteudo"> Até um relógio parado está certo duas vezes ao dia. ---------- conteúdo </p> --- tag (fechamento)
- ignora quebra de linhas
- apenas um espaço em branco é contado
- pode usar tag dentro de tag
<html> <p> Hello World! </p> </html>
Estrutura web
Estrutura básica
<!DOCTYPE html> <html> <head> <title>Site Novo</title> </head> <body> <p>Conteúdo do Site</p> </body> </html>
Principais tags
- dá importância para uma palavra no texto
- negrito
- enfase na palavra
- itálico
- veja o link links externos
- veja o link links internos
- imagem
H1 deve ser o único da pagina
H1 ao H6
Atributos sempre vão para as tags de abertura
Doctype, Metalag, lang
<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>Principais Tags</title> </head> <body> </body> </html>
Listas e Tabelas
- Unordered List
<ul> <li></li> </ul>
- Ordered List
<ol> <li></li> </ol>
- Tabela
<table> <tr> //linha <th>É isso ai</th> //coluna </tr> </table> /*primeiro th geralmente é pro titulo da coluna*/
Elementos estruturais
- Div: abre e fecha e não possui qualquer significado semantico, ela serve p estruturarmos o conteúdo através do CSS, possuicaracteristicas de um elemento de bloco.
- Section e Article: elementos semanticos que servem para estruturar o documento.
- Header e Footer: elementos semanticos para estruturar o elemento.
- Nav: para indicar que o site é navegavel.
Formulário
São utilizados para envio de dados ao servidor, podendo ser formulario de contato, busca, chat e etc.
Exemplo de formulario smples para envio de email:
<form action="enviar.php" method="post" name="form"> <label for="nome">Nome</label> <input id="nome" name="nome" type="text" required> <label for="email">E-mail</label> <input id="email" name="email" type="text" required> <label for="mensagem">Mensagem</label> <textarea id="mensagem" name="mensagem" required></texarea> <button id="enviar" name="enviar" type="submit">Solicitar Orçamento</button> </form>
- Label é como se fosse a etiqueta
- Input é a caixa
- Required é porque é obrigatório digitar algo naquele campo
Form Atributos
- action : definine a ação do formulario
- method : exspecifica se é get ou post
- name : nome unico do elemento
Input Atributos
- type - define o tipo de input, pode ser checkbox, password, text, button e outros
- required - especifica se é obrigatorio ou n o campo
- name - nome único do elemento
- id - id unico referente ao label
CSS Básico
Introdução
É uma linguagem de estilo que serve para definir a formatação de documentos html.
Anatomia do CSS:
p.conteudo { color: #222; font-size: 1em; }
Para fazer referência ao CSS dentro do HTML:
<head> <link rel="stylesheet" href="style.css"> </head>
Seletores
Seletor é o que vai selecionar o elemento que você quer mudar com o CSS.
Class e Id
- São atributos que você coloca dentro da tag.
- Servem especificamente para CSS e JS.
- Id só pode ser utilizado 1 vez no HTML.
- Class é repetido para replicar estilos a diversas tags.
Propriedades de texto
- color - cor do texto - hexadecimal
- font-style - estilo do texto, italico normal ou oblique
- font-weight - peso da fonte, bold
- font-size - tamanho da fonte px
- line-height - tamanho da linha px
- font-family - tipografia
- font - concatena todas as inforamções da fonte
- text-align - alinhar o texto
- text-transform - tudo em maiusculo ou minusculo ou capitalize
- text-indent - pra identar a primeiralinha do paragarado
- text-decoration - usa geralmente em link, no a
- text-shadow- sombra no texto
- white-space- não quebrar linha, forçar que o texto continue
- word-space - distancia entre as palavras
- letter-space - distancia das letras
Box Model
Os sites são criados em blocos.
Algumas propriedades do Box Model.
Responsivo
Introdução
Se adapta a diferentes tamanhos e telas e melhora a experiência do usuário.
Características do Responsivo: imagens fluídas, grid fluído (width em % ou em) e media queries.
Adaptável: a mudança é que o grid é adaptável, ou seja, tem um width fixo que muda de acordo com break-points do media querie.
Javascript e Animações
Introdução
É uma linguagem de programação interpretada.
Sintaxe Básica:
const nome = "André"; function somar(a, b) { return a + b; } somar(2, 4); // resultado 6
SEO e Head
SEO = SEARCH ENGINE OPTIMIZATION
- Otimizar o site para mecanismos de busca
- Boa otimização aumenta o número de visitantes
- O mecanismo pode mudar o seu algoritmo
- Ter um nicho traz mais facilidade na otimização
DICAS DE SEO
- Código HTML limpo e semântico
- Site rápido e adaptável
- Palavras Chaves (nas tags title, description, h1 e durante o conteúdo do site)
- Tentar utilizar um conceito/palavra chave por página
- Gerar conteúdo através de um blog
- Possuir um conteúdo relevante e exclusivo no seu site
- Estimular o compartilhamento do seu site em outros sites, blog e redes sociais
Domínio, Hospedagem e Analytics
DOMÍNIO
- É o endereço do seu site
- Deve ser único e memorável
- Utilize o nome do seu negócio
- Quanto menor melhor
- Compre os alternativos também
DNS (DOMAIN NAME SYSTEM)
- O DNS do dominío deve ser configurado com o nome indicado pela hospedagem
HOSPEDAGEM
- É o aluguel de um servidor conectado a internet
- Servidor é o computador onde teu site fica 24/7
- Existem Servidores espalhados por todo o mundo
COMO SUBIR O SITE
- É necessário um aplicativo de FTP
- O endereço ftp do seu site (ftp.site.com)
- Usuário e Senha
- Briefing